home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************************
- * *
- * Documentation for *
- * *
- * -- RemindMe V1.0 -- *
- * *
- * Copyright © 1994 Marcus Stratmann *
- * *
- *****************************************************************************
-
-
- SHORT DESCRIPTION
-
- RemindMe is a simple events reminder. It reads the events from a file
- and checks if the user should be notified. Weekly, monthly, yearly and
- unique events are possible.
-
-
- CONTENTS
-
- The RemindMe package includes the following files:
-
- .Product-Info the product description
- RemindDates a sample events file
- RemindMe the main program
- RemindMe.doc the documentation
-
-
- DISTRIBUTION
-
- RemindMe is FREEWARE.
- This program may be freely distributed as long as all files of the
- package remain unchanged and are included with the distribution.
- Any commercial distribution of this package without the prior written
- consent of the author (Marcus Stratmann) is expressly prohibited.
- Copyright © 1994 by Marcus Stratmann
-
-
- REQUIREMENTS
-
- This program should run on any AMIGA. If it doesn't: please tell me!
-
-
- INSTALLATION
-
- Copy RemindMe into your C: directory or any other directory which is in
- your search path. Copy the file RemindDates into your S: directory and
- enter your own events. Include RemindMe in your startup-sequence. When
- RemindMe is called, the current date should be set correctly, so you
- better call SetClock before. The lines in your startup-sequence may look
- like this:
-
- ...
- SetClock load
- RemindMe
- ...
-
-
- FORMAT OF THE EVENTS FILE
-
- Your personal events are described in the file S:RemindDates.
- Each line contains the description of one event.
- Comments start with a semicolon (;) in the FIRST row of a line. The
- whole line is considered as a comment and is ignored.
- You can use one of the following formats for each event:
-
- WEEKLY weekday [WARN warndays] MESSAGE event-message
- MONTHLY monthday [WARN warndays] MESSAGE event-message
- YEARLY yearday [WARN warndays] MESSAGE event-message
- UNIQUE date [WARN warndays] MESSAGE event-message
-
- For specification of the header use the format
-
- HEADER header-message
-
- Statements in [] are optional and can be omitted.
-
- RemindMe doesn't distinguish between uper and lower case. So "WEEKLY"
- is the same as "weekly" or "WeEkLy".
-
- You can use some special codes for your header- and event-messages.
- These are indicated by a backslash "\" followed by a character.
- Special codes are:
- \e escape character (ASCII 27)
- \f form feed (clears the screen)
- \n line feed (new line)
- \t vorizontal tab
- \\ a backslash ("\")
-
- Description of the keywords and their parameters:
-
- HEADER header-message
-
- This defines the message RemindMe displays first when it notifies you
- of your events. Everything in the line after the keyword HEADER is
- considered as your header-message (except leading blanks).
- If HEADER is specified more than once, RemindMe will take the last
- header-message.
- When there are no events to remind you of RemindMe doesn't display
- the header-message.
-
- WARN warndays
-
- This is the number of days you want to be notified before the event
- takes place. When the number of days until the event is less or equal
- to the value of warndays RemindMe will display the message belonging
- to the event. A value of zero for warndays means that RemindMe
- only notifies you on the day of the event, not before.
- If you specify a negativ number, RemindMe will take its absolute
- value.
- If WARN is omitted, RemindMe assumes a value of zero for warndays.
-
- MESSAGE event-message
-
- Everything in the line after the keyword MESSAGE is taken as the
- event-message (except leading blanks). This is displayed together
- with the date of and the number of days to the event.
- The length of the message is limited to 80 characters.
-
- WEEKLY weekday
-
- This defines a weekly event.
- weekday should be replaced by one of the following:
- MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
- This is the weekday your weekly event is going to happen.
- * NOTE: RemindMe always takes the next possible date which matches
- the specification. E.g. if you say
- WEEKLY MONDAY WARN 14 MESSAGE Monday again!
- RemindMe will only remind you of the next monday and not of the
- monday seven days later, though it is in the range of 14 warndays,
- too. This is also effective for MONTHLY and YEARLY.
-
- MONTHLY monthday
-
- This defines a monthly event.
- Valid numbers for monthday are 1 to 31 and -1 TO -31.
- A positive number stands for the corresponding day of the month.
- If a negative number is specified, the days are counted from behind.
- So -1 belongs to the last day of the month (not 0!) and in a month
- with 30 days, -30 belongs to the first day of the month.
- If a month doesn't have the required number of days, the next
- matching month is taken.
-
- YEARLY yearday
-
- This defines a yearly event.
- yearday is of the form day.month. where day and month are both
- numbers. RemindMe checks if the date is valid.
-
- UNIQUE date
-
- This defines an event that takes place only once.
- date is of the form day.month.year where day, month and year are
- all numbers. Don't forget the century when specifying the date;
- 1994 and 94 are different years! Again, the validity of the date
- is checked.
-
-
- COMMAND-LINE OPTIONS
-
- The syntax for the RemindMe command line is given as:
-
- RemindMe [ALL] [TEST]
-
- The text in brackets ("[]") indicates an optional parameter.
- Here's the meaning of the options:
-
- ALL
-
- Normally RemindMe will display only those events whose occurrence
- lie in the specified warndays range. But when the option ALL is
- given, RemindMe will display all events, even those whose occurrence
- does not lie in the warndays range.
- Use this to see which events you have entered in the events file
- S:RemindDates.
-
- TEST
-
- When reading the file S:RemindDates the program will not report any
- errors or warnings. If you want to test, if your events file is ok,
- use the TEST option. RemindMe will then report possible errors and
- give you the corresponding line numbers.
-
-
- OUTPUT OF THE PROGRAM
-
- Let's have a look at the output RemindMe produces. I started the program
- on 11-Oct-1994 from the command line with
- RemindMe ALL TEST
- and with the sample events file of this this archiv in use.
- Here's the output of the program:
-
- RemindMe V1.0, Copyright (c) 1994 Marcus Stratmann.
-
- Error line 16: Illegal weekday
- Warning line 18: Obsolete date
- 1 error(s), 1 warning(s).
-
- don't forget:
- tomorrow (Mo, 12-Sep-1994): Oh no, monday again!
- in 4 days (Th, 15-Sep-1994): This is the 15th day of the month
- in 19 days (Fr, 30-Sep-1994): Month is over! Any money left?
- in 20 days (Sa, 1-Oct-1994): This is the first day of the next month ...
- in 50 days (Mo, 31-Oct-1994): This is the 31st day of the month
- in 104 days (Sa, 24-Dec-1994): Christmas! Don't forget the presents!
- in 386 days (Mo, 2-Oct-1995): This is a monday, too.
- in 536 days (Th, 29-Feb-1996): Intercalary day
-
- In the first line you find the program name, version and copyright note.
- This is only output when the TEST option is active.
-
- The next lines give you a summary of the errors and warnings. As you can
- see, in line 16 an illegal weekday was specified (moonday instead of
- monday) which gives you an error message. In line 18 of the events file
- the date 01.03.1966 was used which is more than 28 years over. This
- results in the warning "obsolete date".
- * NOTE: RemindMe never changes the events file! That means it doesn't
- discard obsolete events. This prevents data losses due to a wrong current
- date set.
- The errors and warnings summary is displayed only when the TEST option
- is active.
-
- The next part of the output gives a summary of the events. As I used the
- ALL options, all events from the events file are displayed. Events which
- lie in the past are not shown.
- In the first line of this part the header-message is shown. If you don't
- specify a header-message, none is shown (you guessed that, hm? :-)
- For each event you get:
- - the days until the occurence of the event (0 days is replaced by
- "today", 1 day by "tomorrow")
- - the date of the event in the form <weekday, day-month-year>
- - the message for the event
- This part of the output is shown only when there are any events to be
- displayed.
-
-
- ERRORS, WARNINGS AND RETURN CODES
-
- There are two differnt kind of error: "hard" errors and "soft" errors.
- Soft errors occur when RemindMe reads the events file and finds a
- syntactic error in it. In this case it skips to the next line. If the
- TEST option is active, you get an error message indicating the line
- number and the cause of the error. Soft errors don't interrupt the
- program.
- All other errors are hard errors. These result in the termination of the
- program, as something really important went wrong. Hard errors are shown
- even if the TEST option is not set.
- Warnings inform you that something unexpected has happen, which doesn't
- seriously affect the execution of the program. As in the case of soft
- errors, warnings are displayed only if the TEST option is active.
-
- Hard errors:
- File not found
- The events file S:RemindDates wasn't found.
- Can't examine file
- The progaram couldn't examine the length of the events file.
- This should be a file, not a directory
- S:RemindDates is a directory, not a file.
- File is empty
- The file S:RemindDates is empty.
- No Memory
- There is not enough free memory for the program.
- Can't open file
- The program can't open the events file.
- Error reading file
- An error occurred while reading from the file.
- Date seems to be wrong
- The current date seems to be wrong. You get this message when the
- year is set to less then 1994.
-
- Soft errors:
- Illegal weekday
- The weekday after the keyword WEEKLY is wrong. Legal weekdays are
- MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
- Illegal day
- The day after the keyword MONTHLY is wrong. Valid numbers are
- 1 to 31 and -1 TO -31.
- Illegal date
- The date after one of the keywords YEARLY or UNIQUE is wrong.
- The format is day.month. for YEARLY and day.month.year for UNIQUE.
- Maybe you forgot a "." or you stated a date which doesn't exist.
- Remember that all parts of the date consist of numbers, so don't
- use something like "oct" for the month.
- MESSAGE expected
- The program didn't find the keyword MESSAGE. Every event needs a
- message (which might be empty) following the MESSAGE keyword.
- Keyword expected
- The program expected one of the keywords WEEKY, MONTHLY, YEARLY,
- UNIQUE, HEADER. This might be a sequel of an error in the line before.
- To protect you from such consequences you should use only one line
- for each event.
- Illegal number
- The program unsuccessfully tried to read a number (e.g. the day of a
- date).
- String too long
- The length of a string the program can read is limited to 100 char-
- acters. You stated a string (e.g. a date) which is longer than 100
- characters.
-
- Warnings:
- Obsolete date
- The date stated after UNIQUE is obsolete. You should erase this line
- from the events file.
- Message truncated
- The length of messages is limited to 80 characters. If your message
- is longer, the program will truncate it.
-
- Return codes:
- This is what the program gives back to the operating system when it
- quits. The code for warnings is 5, for soft errors 10 and for hard
- errors 20 (except for 'wrong date', which gives back 10). The highest
- error code which occures is given back as the return code.
-
-
- THE AUTHOR
-
- Send bug reports, suggestions, money, food :-) or other nice things to:
-
- Marcus Stratmann
- Böttcherstr. 13
- 46244 Kirchhellen
- Germany
-
- E-Mail: uste01@unidozr.hrz.uni-dortmund.de (until March 1995)
-
- "Der Tag würde mehr Spaß machen, wenn er später anfinge."
-